This invention relates to gaming networks including gaming machines such as video slot machines and video poker machines. More specifically, the present invention provides methods and apparatus for distributing gaming applications and related information over a wide area network such as, for example, the Internet or World Wide Web.
Typically, a master gaming controller in a gaming machine controls various combinations of devices that allow a player to play a game on the gaming machine and encourage game play on the gaming machine. For example, a game played on a gaming machine usually requires a player to input money or indicia of credit into the gaming machine, indicate a wager amount, and initiate a game play. These steps require the gaming machine to control input devices, including bill validators and coin acceptors, to accept money into the gaming machine and recognize user inputs from devices, including touch screens and button pads, to determine the wager amount and initiate game play. After game play has been initiated, the gaming machine determines a game outcome, presents the game outcome to the player and may dispense an award of some type depending on the outcome of the game.
As technology in the gaming industry progresses, the traditional mechanically driven reel slot machines are being replaced with electronic counterparts having CRT, LCD video displays or the like and gaming machines such as video slot machines and video poker machines are becoming increasingly popular. Part of the reason for their increased popularity is the nearly endless variety of games that can be implemented on gaming machines utilizing advanced electronic technology. In some cases, newer gaming machines are utilizing computing architectures developed for personal computers. These video/electronic gaming advancements enable the operation of more complex games, which would not otherwise be possible on mechanical-driven gaming machines and allow the capabilities of the gaming machine to evolve with advances in the personal computing industry.
When implementing the gaming features described above on a gaming machine using architectures utilized in the personal computer industry, a number of requirements unique to the gaming industry must be considered. One such requirement is the regulation of gaming software. Typically, within a geographic area allowing gaming, i.e., a gaming jurisdiction, a regulatory body is charged with regulating the games played in the gaming jurisdiction to ensure fairness and prevent cheating. In most gaming jurisdictions there are stringent regulatory restrictions for gaming machines requiring a time consuming approval process of new gaming software and any software modifications to gaming software used on a gaming machine. A regulatory scheme also typically includes field verification of deployed gaming applications to ensure that a deployed game corresponds to the certified version of the game.
In the past, to implement the play of a game on a gaming machine, a monolithic software architecture has been used. In a monolithic software architecture, a single gaming software executable is developed. The single executable is typically burnt into an EPROM and then submitted to various gaming jurisdictions for approval. After the gaming application is approved, a unique checksum is determined for the gaming application stored in the EPROM for the purpose of uniquely identifying the approved version of the gaming application.
A disadvantage of a monolithic programming architecture is that a single executable that works for many different applications can be quite large. For instance, gaming rules may vary from jurisdiction to jurisdiction. Thus, either a single custom executable can be developed for each jurisdiction or one large executable with additional logic can be developed that is valid in many jurisdictions. The customization process may be time consuming and inefficient. For instance, upgrading the gaming software may require developing new executables for each jurisdiction, submitting the executables for reapproval, and then replacing or reprogramming EPROMs in each gaming machine.
By contrast, software architectures for use by personal computers have moved toward an object oriented approach where different software objects may be dynamically linked together prior to or during execution to create many different combinations of executables that perform different functions. Thus, for example, to account for differences in gaming rules between different gaming jurisdictions, gaming software objects appropriate to a particular gaming jurisdiction may be linked at run-time which is simpler than creating a single different executable for each jurisdiction. Also, object oriented software architectures simplify the process of upgrading software since a software object, which usually represents only a small portion of the software, may be upgraded rather than the entire software.
Another disadvantage of the monolithic architecture approach relates to the logistics of distributing gaming applications. That is, because each gaming application for each gaming machine typically is embodied in a separate memory device, i.e., an EPROM, these EPROMs must be transported from the gaming application provider, e.g., International Game Technology, to the gaming venues, e.g., casinos, and manually installed in each of the hundreds of gaming machines at each venue. The amount of resources consumed by this process is exacerbated by the fact that many new games are introduced each year.
Techniques for distributing gaming applications within a single gaming venue have been proposed which take advantage of the object-oriented software architectures described above as well as advances in networking technologies. According to such techniques, gaming machines in a casino may be interconnected using any of a variety of network topologies with one or more servers which transmit all or portions of gaming applications to the interconnected machines using any of a variety of network transmission protocols. An example of such a gaming venue network is described in commonly assigned, copending U.S. patent application Ser. No. 09/746,944 for GAMING TERMINAL DATA REPOSITORY AND INFORMATION DISTRIBUTION SYSTEM, now U.S. Pat. No. 6,645,077, filed on Dec. 21, 2000, the entire disclosure of which is incorporated herein by reference for all purposes.
Unfortunately, single venue gaming networks still do not adequately address the logistical issues associated with the distribution of gaming applications from the gaming application provider to the gaming venues, or the complications associated with complying with a multiplicity of regulatory schemes. Thus, there is a need for techniques by which the distribution of gaming applications may be made more efficient.